import App from './App'
import { createSSRApp } from 'vue'

// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
export function createApp() {
  const app = createSSRApp(App)
  
  // 只在H5环境下加载路由（微信小程序不支持动态导入）
  // #ifdef H5
  // 异步加载路由，避免在构建时加载所有组件
  import('./router/index.js').then(routerModule => {
    if (routerModule && routerModule.default) {
      try {
        // 更安全的路由安装方式
        const router = routerModule.default;
        // 检查是否已经安装过路由
        if (!app.config.globalProperties.$router) {
          app.use(router);
        }
      } catch (error) {
        console.error('路由安装失败:', error)
      }
    }
  }).catch(err => {
    console.error('路由加载失败:', err)
  })
  // #endif
  
  return {
    app
  }
}
// #endif